package Day17.FileAndRecursion.Demo01.File;

/**
 * @author hyhWTX
 * @version 1.0
 * @ClassName Demo04File
 * @date 2022年08月27日 22:03
 * @Description: TODO (一句话描述以下该类的功能)
 */

import java.io.File;

/**
 *- public boolean exists():此File表示的文件或目录是否实际存在。
 * - public boolean iisDirectory():此File表示的是否为目录。
 * - public boolean isFile() :此File表示的是否为文件。
 */
public class Demo04File {
    public static void main(String[] args) {
//        show01();
        show02();
    }



    /**
     * public boolean exists():此File表示的文件或目录是否实际存在。
     * 用于判断构造方法中的路径是否存在
     *      存在：true
     *      不存在：false
     *
     */
    private static void show01() {
        File f1 = new File("D:\\java黑马\\src\\Day17\\FileAndRecursion\\Demo01\\File\\a.txt");
        System.out.println(f1.exists());//true


        File f2 = new File("D:\\java黑马\\src\\Day17\\FileAndRecursion\\Demo01\\File\\b.txt");
        System.out.println(f2.exists());//false

        File f3 = new File("a.txt");
        System.out.println(f3.exists());
    }

    /**
     *  - public boolean iisDirectory():此File表示的是否为目录。
     *  用于判断构造方法中给定的路径是否以文件夹结尾
     *          是：true
     *          否：false
     * - public boolean isFile() :此File表示的是否为文件。
     *  用于判断构造方法中给定的路径是否以文件结尾
     *          是：true
     *          否：false
     *   注意：
     *      电脑硬盘中只有文件或者文件夹，两个方法互斥
     *      这两个方法使用前提，路径必须存在，否则都返回false
     */

    private static void show02() {

        //文件结尾
        File f1 = new File("D:\\java黑马\\src\\Day17\\FileAndRecursion\\Demo01\\File\\a.txt");

        if (f1.exists()) {
            System.out.println(f1.isDirectory());
            System.out.println(f1.isFile());
        }
        //文件夹结尾
        File f2 = new File("D:\\java黑马\\src\\Day17\\FileAndRecursion\\Demo01\\File");
        if (f2.exists()) {
            System.out.println(f2.isDirectory());
            System.out.println(f2.isFile());
        }
    }
}
